Platform Explorer / Nuxeo Platform 6.0

Extension point caches

Documentation

Extension Point to define a new cache . 20

  • The class attribute must link a class that implements the CoreCache interface. The default implementation 'org.nuxeo.ecm.core.cache.CacheImpl' is based on Google Guava implementation that does not support distributed cache You can use the 'org.nuxeo.ecm.core.redis.contribs.RedisCache' for the implementation on top of redis that allow distributed cache (make sure that a contrib to RedisService define a redis server) You can also create your own implementation by extending the AsbtractCache class and then use it as an implementation class

    The max size set the max number of elements contained in the cache

    The Time To Live define in minutes the time before the cache will be destroyed

    The concurrency level, number of thread that can access at the same time the cache

  • Contribution Descriptors

    • Class: org.nuxeo.ecm.core.cache.CacheDescriptor

    Existing Contributions

    Contributions are presented in the same order as the registration order on this extension point. This order is displayed before the contribution name, in brackets.

    • nuxeo-runtime-6.0.jar
      <extension point="caches" target="org.nuxeo.ecm.core.cache.CacheService">
          <cache class="org.nuxeo.ecm.core.cache.InMemoryCacheImpl" name="default-cache">
            <ttl>20</ttl><!-- minutes -->
            <option name="maxSize">100</option>
            <option name="concurrencyLevel">500</option>
          </cache>
      
          <cache class="org.nuxeo.ecm.core.cache.InMemoryCacheImpl" name="sql-user-entry-cache">
            <option name="maxSize">100</option>
            <ttl>20</ttl><!-- minutes -->
            <option name="concurrencyLevel">500</option>
          </cache>
      
          <cache class="org.nuxeo.ecm.core.cache.InMemoryCacheImpl" name="sql-user-entry-cache-without-references">
            <option name="maxSize">100</option>
            <ttl>20</ttl><!-- minutes -->
            <option name="concurrencyLevel">500</option>
          </cache>
      
          <cache class="org.nuxeo.ecm.core.cache.InMemoryCacheImpl" name="sql-group-entry-cache">
            <option name="maxSize">100</option>
            <ttl>20</ttl><!-- minutes -->
            <option name="concurrencyLevel">500</option>
          </cache>
      
          <cache class="org.nuxeo.ecm.core.cache.InMemoryCacheImpl" name="sql-group-entry-cache-without-references">
            <option name="maxSize">100</option>
            <ttl>20</ttl><!-- minutes -->
            <option name="concurrencyLevel">500</option>
          </cache>
      
          <cache class="org.nuxeo.ecm.core.cache.InMemoryCacheImpl" name="ldap-user-entry-cache">
            <option name="maxSize">100</option>
            <ttl>20</ttl><!-- minutes -->
            <option name="concurrencyLevel">500</option>
          </cache>
      
          <cache class="org.nuxeo.ecm.core.cache.InMemoryCacheImpl" name="ldap-user-entry-cache-without-references">
            <option name="maxSize">100</option>
            <ttl>20</ttl><!-- minutes -->
            <option name="concurrencyLevel">500</option>
          </cache>
      
          <cache class="org.nuxeo.ecm.core.cache.InMemoryCacheImpl" name="ldap-group-entry-cache">
            <option name="maxSize">100</option>
            <ttl>20</ttl><!-- minutes -->
            <option name="concurrencyLevel">500</option>
          </cache>
      
          <cache class="org.nuxeo.ecm.core.cache.InMemoryCacheImpl" name="ldap-group-entry-cache-without-references">
            <option name="maxSize">100</option>
            <ttl>20</ttl><!-- minutes -->
            <option name="concurrencyLevel">500</option>
          </cache>
      
        </extension>
    • nuxeo-multi-tenant-6.0.jar
      <extension point="caches" target="org.nuxeo.ecm.core.cache.CacheService">
      
          <cache class="org.nuxeo.ecm.core.cache.InMemoryCacheImpl" name="tenants-cache">
            <ttl>60</ttl><!-- minutes -->
            <option name="maxSize">1000</option>
          </cache>
      
          <cache class="org.nuxeo.ecm.core.cache.InMemoryCacheImpl" name="tenants-cache-without-ref">
            <ttl>60</ttl><!-- minutes -->
            <option name="maxSize">1000</option>
          </cache>
      
          <cache class="org.nuxeo.ecm.core.cache.InMemoryCacheImpl" name="topic-cache-without-ref">
            <ttl>60</ttl><!-- minutes -->
            <option name="maxSize">1000</option>
          </cache>
      
          <cache class="org.nuxeo.ecm.core.cache.InMemoryCacheImpl" name="topic-cache">
            <ttl>60</ttl><!-- minutes -->
            <option name="maxSize">1000</option>
          </cache>
      
          <cache class="org.nuxeo.ecm.core.cache.InMemoryCacheImpl" name="subtopic-cache-without-ref">
            <ttl>60</ttl><!-- minutes -->
            <option name="maxSize">1000</option>
          </cache>
      
          <cache class="org.nuxeo.ecm.core.cache.InMemoryCacheImpl" name="subtopic-cache">
            <ttl>60</ttl><!-- minutes -->
            <option name="maxSize">1000</option>
          </cache>
      
          <cache class="org.nuxeo.ecm.core.cache.InMemoryCacheImpl" name="l10nsubjects-cache-without-ref">
            <ttl>60</ttl><!-- minutes -->
            <option name="maxSize">1000</option>
          </cache>
      
          <cache class="org.nuxeo.ecm.core.cache.InMemoryCacheImpl" name="l10nsubjects-cache">
            <ttl>60</ttl><!-- minutes -->
            <option name="maxSize">1000</option>
          </cache>
      
          <cache class="org.nuxeo.ecm.core.cache.InMemoryCacheImpl" name="l10ncoverage-cache-without-ref">
            <ttl>60</ttl><!-- minutes -->
            <option name="maxSize">1000</option>
          </cache>
          
          <cache class="org.nuxeo.ecm.core.cache.InMemoryCacheImpl" name="l10ncoverage-cache">
            <ttl>60</ttl><!-- minutes -->
            <option name="maxSize">1000</option>
          </cache>
      
      
        </extension>